perm filename FOL1.MEM[226,JMC] blob
sn#085642 filedate 1974-02-04 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 $$M0BDB30$.
C00011 ENDMK
C⊗;
$$M0BDB30;$.
$F0FOL Project 1 Feb 1974
TASK DESCRIPTION #1
DECISION PROCEDURE FOR THE ALGEBRA OF SETS AND SOME OTHER ALGEBRAIC SYSTEMS
$J This is the first of a series of memos describing some
improvements that need to be made to FOL. The purpose of the memos
is to aid in dividing up the work and to make possible consensus on
what the improvements should be.
The algebra of sets is a part of set theory not involving the
ε relation. In its simplest form it involves the operations ∪
(union), ∩ (intersection) and ~ (complementation with respect to a
universal set USET). The following are universally valid formulas:$.
1. x ∪ (y ∪ z) = (x ∪ y) ∪ z associativity
2. x ∩ (y ∩ z) = (x ∩ y) ∩ z
3. x ∩ (y ∩ z) = (x ∩ y) ∪ (x ∩ z)
4. x ∪ (y ∩ z) = (x ∪ y) ∩ (x ∪ z)
5. x ∩ x = x
6. x ∪ x = x
7. ~(x ∪ y) = ~x ∩ ~y
8. ~(x ∩ y = ~x ∪ ~y
9. ~~x = x
10. ~NLSET = USET
11. ~USET = NLSET
12. x ∪ NLSET = x
13. x ∩ NLSET = NLSET
14. x ∪ USET = USET
15. x ∩ USET = x.
$J These laws are identical to laws of the propositional
calculus with ∨, ∧, ¬, ≡, false, and true replacing ∪, ∩, ~, =,
NLSET, and USET respectively.
Therefore, the program taut, already part of FOL, can be used
to decide whether a formula involving these operators follows by
Boolean algebra from a collection of other formulas. All that is
required is a program that translates the Boolean formulas into
logical formulas and uses taut. (Indeed, if only the Boolean
operations were to be used, one would not want both the Boolean an
propositional operators).
There is one minor embarassment that is easily fixed. While
the universal set USET leads to no trouble in Boolean algebra and is
a convenient fiction, in conjunction with the other axioms and
operations of ZF, it leads to a contradiction. Therefore it is
necesary to replace the complementation operation ~ by a set
difference operation and get rid of USET. We can write setdiff(x,y)
or x\y (or even x - y if the sort features of FOL can be straightened
out to permit using - for both sets and numbers). We can still use
taut; we have only to translate setdiff(x,y) into x∧¬y.
Therefore, we can have a rule booltaut in FOL that will let
us assert any formula that follows by Boolean algebra from a
collection of lines of the proof or axioms or stored theorems. As
with propositional formulas, the Boolean formulas can involve other
than Boolean operators, expressions involving these other operators
being treated as atoms in the Boolean algebra.
However, booltaut needs some syntactic sugar, namely
1. Since ∪ and ∩ are associative, we need to be able to write
x ∪ y ∪ z, etc.
2. Instead of writing only equalities, we want also to use
the inclusion symbol ⊂. This is handled by translating x ⊂ y into x ⊃
y.
3. We need the operator {x,y,...,z} for explicitly listed
sets. This can be done by regarding {x,y,...,z} as an abbreviation
for unitset(x) ∪ unitset(y) ∪ ... unitset(z).
4. Expressions of the form x ε A can be allowed in the
formulas by transforming them into unitset(x) ⊂ A.
5. Conjunctions of Boolean algebra formulas can be allowed in
premisses and conclusions since the program can replace them by a
number of separate formulas.
Besides these features which can be added without changing
the reliance on taut, there are some possible extensions that may
require additional mathematics to determine whether the domain is
still decidable and whether decision procedures are feasible. Here
are some possibilities:
1. Can we allow other propositional combinations of the
Boolean formulas in the premisses and conclusions? This seems to
require at least the elementary theory of equality.
2. Can we include the Cartesian product in the algebra?$.
OTHER ALGEBRAIC SYSTEMS
$J 1. Associativity. Certain operators are associative, and if
we can't write them in binary form, proofs of certain equivalences
can be quite tedious. It would be best if having proved an operator
associative, we could write it without grouping the terms in twos and
make all deductions depending solely on its associativity in one
step.
2. Commutativity. The previous remark applies here without
change.
3. Distributive pairs of operators. The case where there is
a commutative operator written additively and another associative
operator which obeys distributive laws with respect to the first is
quite common. Sometimes the multiplicative operator is distributive
also. In these cases formal multiplication and exponentiation by
integers also occur. There are a number of cases, but in each case,
informal proofs make heavy use of what are apparently decision
procedures.$.
FINAL REMARK
$J The possibility that there are a large number of such
elementary proof search procedures that will have to be added to FOL
to make proofs as short as informal ones is somewhat daunting.
Perhaps there is a general way of adding the possibility of proof
search procedures to FOL simply by reading in files.$.